package simple.runtime.components;

import simple.runtime.annotations.SimpleComponent;
import simple.runtime.annotations.SimpleEvent;
import simple.runtime.annotations.SimpleFunction;
import simple.runtime.annotations.SimpleObject;

/**
 * Simple的列表框组件
 * 
 * @author 东子 xhwsd@qq.com
 */
@SimpleComponent
@SimpleObject
public interface 列表框 extends 可视组件 {

  @SimpleEvent
  void 项目被单击(int index);

  @SimpleEvent
  void 项目被长按(int index);
  
  @SimpleEvent
  void 项目被滚动(int firstVisibleItem, int visibleItemCount, int totalItemCount);
  
  @SimpleFunction
  boolean 获取焦点();

  @SimpleFunction
  void 清除焦点();

  @SimpleFunction
  void 垂直滚动(int x);

  @SimpleFunction
  int 取项目数();

  @SimpleFunction
  void 选择项目(int index);

  @SimpleFunction
  void 删除项目(int index);

  @SimpleFunction
  void 清空项目();
  
  @SimpleFunction
  int 添加项目(String text);
  
  @SimpleFunction
  String 取项目文本(int index);
  
  @SimpleFunction
  void 置项目文本(int index, String text);
}
